package com.probox.common.entity.domain.centre;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.*;
import com.probox.common.core.annotation.Excel;

/**
 * 订单子对象 order_info
 *
 * @author hds
 * @date 2021-06-24
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("order_info")
public class OrderInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 订单ID
     */
    //默认主键自增
    @TableId(value = "ORDER_UID", type = IdType.AUTO)
    private Long orderUid;
    /**
     * 平台ID
     */
    @Excel(name = "平台ID")
    private Long platformUid;
    /**
     * 供应商ID
     */
    @Excel(name = "供应商ID")
    private Long supplierUid;
    /**
     * 供应商名称
     */
    @Excel(name = "供应商名称")
    private String supplierName;
    /**
     * 订单类型
     */
    @Excel(name = "订单类型")
    private String orderType;
    /**
     * 商家订单号
     */
    @Excel(name = "商家订单号")
    private String orderNo;
    /**
     * 支付订单号
     */
    @Excel(name = "支付订单号")
    private String parentOrderNo;
    /**
     * 客户ID
     */
    @Excel(name = "客户ID")
    private Long customerUid;
    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;
    /**
     * 手机号码
     */
    @Excel(name = "手机号码")
    private String phone;
    /**
     * 订单状态
     */
    @Excel(name = "订单状态")
    private String orderStatus;
    /**
     * 支付状态
     */
    @Excel(name = "支付状态")
    private String payStatus;
    /**
     * 支付方式
     */
    @Excel(name = "支付方式")
    private String payMethod;
    /**
     * 订单来源
     */
    @Excel(name = "订单来源")
    private String platSource;
    /**
     * 订单金额
     */
    @Excel(name = "订单金额")
    private Long orderAmount;
    /**
     * 支付金额
     */
    @Excel(name = "支付金额")
    private Long payAmount;
    /**
     * 折扣
     */
    @Excel(name = "折扣")
    private Long discountRate;
    /**
     * 折扣金额
     */
    @Excel(name = "折扣金额")
    private Long discountAmount;
    /**
     * 使用代金券支付
     */
    private Long useCouponUid;
    /**
     * 使用代金券金额
     */
    @Excel(name = "使用代金券金额")
    private Long useCouponAmount;
    /**
     * 余额支付
     */
    @Excel(name = "余额支付")
    private Long payByBalance;
    /**
     * 货币单位
     */
    @Excel(name = "货币单位")
    private String currencyUnit;
    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 订单取消时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单取消时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;
    /**
     * 买家留言
     */
    @Excel(name = "买家留言")
    private String buyMes;
    /**
     * 未支付订单过期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "未支付订单过期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date expireDate;
    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;
    /**
     * ip地址
     */
    @Excel(name = "ip地址")
    private String ip;
    /**
     * 开票信息
     */
    @Excel(name = "开票信息")
    private Long invoiceUid;
    /**
     * 开票状态
     */
    @Excel(name = "开票状态")
    private String invoiceStatus;
    /**
     * 配送方式
     */
    @Excel(name = "配送方式")
    private String deliverMethod;
    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;
    /**
     * 发货状态
     */
    @Excel(name = "发货状态")
    private String sendStatus;
    /**
     * 包裹状态
     */
    @Excel(name = "包裹状态")
    private String orderPackStatus;
    /**
     * 签收时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "签收时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signTime;
    /**
     * 收货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date receiveTime;
    /**
     * 自动收货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "自动收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date autoReceiveTime;
    /**
     * 评价状态
     */
    @Excel(name = "评价状态")
    private String commentStatus;
    /**
     * 评价时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "评价时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date commentTime;

}
